1. Technical Field
The present invention relates generally to data processing systems and more particularly to providing an optimal minimum system configuration for the data processing system at boot-time.
2. Description of Related Art
Data processing systems oftentimes experience hardware failures. Some data processing Systems, such as the RS/6000, a product of the International Business hardware failures. Some data processing systems, such as the RS/6000, a product of the International Business Machines Corporation of Armonk, N.Y., offer features to predict hardware failures based on the previous failure history of a particular piece of hardware and the ability to deconfigure or deallocate such resource, be it a processor or memory device. In the RS/6000, these capabilities are provided by the Memory Repeat Gard and CPU Repeat Gard features. Thus, if one knows that a particular resource is bound for failure, it can be kept from being utilized in the first place. By keeping these bad hardware resources from being configured and used within the data processing system, a higher availability of the system can be achieved.
However, a system can experience excessive hardware failures, either catastrophically or gradually over time, to the point that it has less than the minimum hardware configuration required to boot the system. In order to prevent this undesirable situation, on some platforms, the last hardware resource to fail could not be deconfigured. When this last resource is kept from being deallocated, it may not provide the optimal availability of the system. Thus, when this last resource does in fact suffer a failure, it is not allowed to be deconfigured. Therefore, the system must try to run on that resource and that resource only, if at all possible. However, there could be other resources that had been deconfigured earlier that suffered less severe errors and, therefor, would be better candidates on which to run the system. Therefore, a method, system, and apparatus for providing a more optimal availability of system resources when a system resource required for the minimum configuration to boot the system fails would be desirable.
The present invention provides a method, system, and apparatus for recovering system resources to provide a minimum system configuration in a data processing system. In one embodiment, a firmware component within the data processing system, during initial program load, determines that a first resource has failed. The first resource is then deallocated. Responsive to a determination that deallocation of the resource has resulted in less than the minimum system configuration for operation of a data processing system, the firmware component determines which of a plurality of deallocated resources suffered from the least severe failure. The one of the plurality of deallocated resources that suffered from the least severe failure is then reallocated for use by the data processing system.